twhist.txt For TextWin version 940324 based upon the DIS KA9Q v2.15 sources. This document gives a historical review in reverse chronological order of TextWin and Ka9q changes. --------------------------------------------------------------------- Changes for TextWin version 940324 (DIS 2.15) No textwin specific changes, just merged the TextWin 2.12 and ka9q (DIS) 2.15 sources. No changes to textwin functionality. Reworked the make file, and scattered #ifdef's through the code so that the same code can be used to build both ka9q and TextWin. Hoping that this will be accepted by Demon as the base for future versions of Ka9q, so that production of TextWin in future involves only a verification that Ka9q changes haven't impacted TextWin, and then recompilation. Increasing memory use by Ka9q is causing problems. Three alternative versions of TextWin are available: bigtw (corresponds to full Ka9q), smalltw (corresponds to small version of Ka9q, introduced in 2.13), and tinytw (yet more facilities removed). Tinytw is recommended for first-time users. Smalltw lacks exactly the same things that smallnet lacks (introduced 2.13, see below). Specifically, it excludes the BBS, RIP, Domain Name server and packet filtering. If you don't understand those terms, don't worry, except that you may find you get a benign error message if you have the standard autoexec.net file with 'mbox' commands in (if you want to suppress these messages, just remove those commands). Tinytw is smalltw with some more features removed. The finger server, ftp server, and zmodem are removed. I hope to remove more in a future version. Note that you can still ftp another site (that's done with the ftp client, not server), and you can still finger another site (similar reason) (provided the other site isn't also running tinytw!). John Washington (john@wash.demon.co.uk) --------------------------------------------------------------------- The Ka9q changes between 2.12 and 2.15 inclusive are as follows (this is an extract from nethist.txt) 2.15 DIS 02 Feb 94 1) Removed the ftp hash wrap code introduced in 2.13. 2) New command "ftpopt" for setting ftp defaults. ftpopt verbose [0123] sets ftp reporting level ftpopt hash shorthand for "ftpopt verbose 3" ftpopt type ascii | binary | logical sets file type ftpopt ascii sets ASCII file type ftpopt binary sets binary file type ftpopt pager on | off sets ftp paging on or off ftpopt wrap sets hash wrapping at column . "ftpopt wrap 0" to disable. These commands may be written in autoexec.net. In the absence of any of these commands, the defaults are: verbose 2 ascii pager off wrap 0 Giles Todd ---------------------------------------------------------------------------- 2.14 DIS 24 Jan 94 1) ftp: fixed 80 column wrap in hash mode. 2) ftp: fixed indeterminate file type in batch mode. 3) ZMODEM: _flush -> _rbsb_flush to avoid name clash with Microsoft libraries. 4) Async handler: two flags may now be specified in the "attach" command. 'f' forces the async handler to assume that you are using a 16550A UART whatever the result of its own UART test and 'n' tells the async handler not to use Tx hardware handshake. If both these flags are used then they should be concatenated. E.g. attach asy 0x3f8 4 ppp ax1 4096 1500 38400 fn Use of either of these flags is not recommended. If you do not understand the circumstances when either should be used then you should not use them. In particular, if you find that you need to use the 'n' flag then you should actually be fixing your modem's configuration so that you can use Tx handshake. Otherwise, performance will almost certainly be impaired. Giles Todd ---------------------------------------------------------------------------- 2.13 DIS 04 Jan 94 1) "smtp verbose on": displays progress of outgoing mail messages. 2) "nntp verbose on": now displays header lines received from the NNTP server. 3) "nntp verbose on": now displays all error messages. 4) "nntp verbose on": full NNTP server error responses now reported. 5) Mail bounce envelope From now comes from "postmaster@". 6) "New mail arrived" message now says who the mail is from. 7) SMTP server banner now displays version and compilation date and time. 8) Fixed Tx hardware handshake. 9) Asynch routines now restore 16550A FIFO status on exit. 10) Dialer error messages no longer obscure modem messages. 11) Fixed SLIP and AX25 conditionals in scc.c. 12) SMTP server and client now accept domain literal addresses as per RFC 1123. 13) SMTP server now processes the VRFY command in accordance with the requirements of RFC 1123. 14) SMTP server: fixed pointer bug in message body reading routine. 15) NNTP client: fixed dot transparency. Ian Young 16) SMTP server: close mail spool file before sending 250 acknowledgement. 17) Async handler: fixed line drop notification. 18) SMTP server: fixed problem with dot transparency in long lines. 19) SMTP server: fixed time zone in "Received:" lines. 20) ftp scripts. New commands: open - open a connection to hostname's FTP server. close - close the connection to the current FTP server. source - read commands from the file . Things to note: 1. If no connection has ever been made then reset fails from the net> prompt. 2. If you are scripting and a connection fails _all_ commands meant for that host are still executed ( they really wiz past the screen ) up to the next correct connection or EOF . This is not a bug, someone mentioned wanting to go round a list of hosts on a regular basis, this method allows a script to continue to completion even if one ( or many ) hosts are unavailable. 3. If reading from a script you must put the username and password you want to use for a particular host in the script file. Users should be aware that if the host is not anonymous then their password could be compromised ( not on the screen ) but by others reading the script. 4. Sample script and usage for ftp scripting: Filename: ftp.scr ---------------------------------------------------------------------------- open ftp.demon.co.uk ftp username@ - enter your own username here cd /pub/doc hash get Services.txt close [repeat for other ftp sites perhaps] quit ---------------------------------------------------------------------------- Then log on and at the "net>" prompt type ftp and then at the "ftp>" prompt type source ftp.scr and let it do its bit. At the end press enter to finish the session. Iain Douglas 21) ftp "hash": marks are now printed every 1024 characters rather than every 1000. Grahame Davies 22) ftp "hash": wrap line at 80 columns. 23) Added a small net.exe target to the make file. This builds a verion of KA9Q excluding the BBS, RIP, Domain Name server and packet filtering. 24) Fixed DSERVER conditionals in domain.c. Uncredited changes made by Giles Todd . ---------------------------------------------------------------------------- Changes for TextWin version 0.23 (DIS 2.12) 17Oct93 Made a few changes to the textwin sources to compensate for some changes in the ka9q (DIS) 2.12 source. No changes textwin functionality. ipaton@sphere.demon.co.uk The Ka9q changes for 2.12 are as follows (this is an extract from nethist.txt) --------------------------------------------------------------------- 2.12 DIS 04 Jul 93 1) Fixed most compiler warnings. 2) SMTP: tightened up "smtp list" error checking. 3) Name resolver: fixed the routine which chooses the "best" IP address for a multi-homed host. 4) Dialer: improved dialer interrupt handling. 5) SMTP: fixed problems when copying large mail files. Ian Young 6) NNTP: reinstated the 2 minute NNTP "fudge factor". 7) Made the lzw compression code conditional on LZW and removed it by default. Not required for our application. ~6k saving in load image size. 8) Disabled SLIP by default. DIS KA9Q users use PPP. ~2k saving in load image size. 9) SMTP: fixed dot transparency. Ian Young 10) SMTP: fixed alias expansion so that there can be multiple spaces between the alias and its expansion. Grahame Davies 11) Changed behaviour of TCP/IP in low memory conditions. This now follows the following algorithm: If available memory < 2 * low memory threshold Accept incoming packet. Queue a "source quench". If available memory < low memory threshold Discard incoming packet. Queue a "source quench". If available memory < low memory threshold / 2 Discard incoming packet. Don't queue a "source quench". This is intended to cure the problem whereby KA9Q hangs when doing multiple downloads in low memory conditions. Thanks to Ian Young (ian@rats.demon.co.uk) for the suggestion. 12) NNTP: dropped the word "article" from the "News arrived:" message. 13) NNTP: fixed duff throughput reports caused by the use of signed variables for counts. Uncredited changes: Giles Todd --------------------------------------------------------------------- Changes for TextWin version 0.22 (DIS 2.11) 26Apr93 No textwin specific changes, just recompiled with the ka9q (DIS) 2.11 sources. ipaton@sphere.demon.co.uk --------------------------------------------------------------------- Changes for TextWin version 0.22: (13Feb93) - Merged textwin with the latest beta-test DIS sources, v2.02a. It should be noted that in order to get this release to compile, I have been forced to make a number of changes to modules that I would otherwise not have modified: without these changes Borland's linker complained that more than 64k data was being used. I have completely removed the "fkey" command help text, this is reproduced below. key num key num key num key num key num f1 59 sf1 84 cf1 94 af1 104 pgup 73 f2 60 sf2 85 cf2 95 af2 105 pgdn 81 f3 61 sf3 86 cf3 96 af3 106 home 71 f4 62 sf4 87 cf4 97 af4 107 end 79 f5 63 sf5 88 cf5 98 af5 108 arup 72 f6 64 sf6 89 cf6 99 af6 109 ardn 80 f7 65 sf7 90 cf7 100 af7 110 ar l 75 f8 66 sf8 91 cf8 101 af8 111 ar r 77 f9 67 sf9 92 cf9 102 af9 112 ins 82 f10 68 sf10 93 cf10 103 af10 113 del 83 usage: fkey [ | "string"] Also, a number of tables have been moved into 'far' data segments. The CRC tables in rbsb.c have been moved in this way. The DIS changes since v1.29 are as follows (this is an extract from nethist.txt): 2.11 DIS 19 Apr 93 1) Fixed a bug which could disable the SMTP client under tight memory conditions. Giles Todd ---------------------------------------------------------------------------- 2.10 DIS 13 Apr 93 1) Automatic time setting tweaks. 2) New command: "time delay ". Sets a delay before the automatic time setting and kick commands are issued after connection. Default: 10 seconds. Giles Todd ---------------------------------------------------------------------------- 2.09 DIS 09 Apr 93 1) Fix spurious error message from "time set". 2) Increased connection timeout in time commands. 3) Fixed automatic SMTP kick. Giles Todd ---------------------------------------------------------------------------- 2.08 DIS 06 Apr 93 1) "smtp delay": use localtime () rather than gmtime (). Mark Turner ---------------------------------------------------------------------------- 2.07 DIS 05 Apr 93 1) Fixed "smtp delay" command. Mark Turner ---------------------------------------------------------------------------- 2.06 DIS 03 Apr 93 1) Multiple telephone numbers are now dialled in sequence (rather than the last in the list being dialled first). 2) Reinstated "smtp beep" command. 3) Added a dummy function to prevent error messages appearing as a result of the disappearance of the "smtp delay" command. Giles Todd ---------------------------------------------------------------------------- 2.05 DIS 01 Apr 93 1) Removed post 1.29 changes to the SMTP client (apart from mail routing changes). This is now in its version 1.29 state. As a side effect, this has removed the "smtp beep" command. This can be reinstated if there is a demand for it. 2) The "receive character from socket" routine now strips embedded ^Z characters when the socket is in ASCII mode. Giles Todd ---------------------------------------------------------------------------- 2.04 DIS 30 Mar 93 1) Delay ten seconds before sending the automatic NNTP and SMTP kicks. Mark Turner ---------------------------------------------------------------------------- 2.03 DIS Feb 93 1) Added version to help screen. Mark Turner 2) Added extended TZ environment variable syntax to fix problems with non-US compatible daylight saving time changeover dates in 1993. Please note that earlier versions of KA9Q will not work correctly in the UK after 27 March 1993. You must upgrade to this or a later version of KA9Q for correct operation after this date. This product includes software developed by the University of California, Berkeley and its contributors. The TZ variable has the following syntax: STD offset [DST [offset] [, rule]] (Spaces added for clarity.) Only the STD part is required. If DST is not specified, summer time does not apply. Uppercase and lowercase letters are allowed in the designation. Any characters except a : (colon), digits, , (comma), - (minus), + (plus) and ASCII NULL are allowed. STD denotes the standard time zone and DST denotes the summer time zone. indicates the value to be added to local time to equal Coordinated Universal Time (equivalent to GMT). The part has the following format: hh[:mm[:ss]] The part following the STD part is required. If an part does not follow the DST part then summer time is assumed to be one hour ahead of standard time. One or more digits may be used and are interpreted as a decimal integer. The hour must be specified between 0 and 24 (sic). The mm (minutes) and ss (seconds) parts are optional. If these parts are present, they must be specified between 0 and 59. If the part is preceded by a - (minus), the time zone is east of the Prime Meridian (Greenwich again). If the part is not preceded by a - (minus) or is preceded by a + (plus), the time zone is assumed to be West of the Prime Meridian. The part has the following format: date/time,date/time The first date part describes the date when the change from standard to summer time occurs. The second date part describes when the change from summer to standard time occurs. Each time part describes, in current local time, when the change is made. The date part has the following format: J or M.. J indicates a Julian date. is the day of the year and has a value from 1 to 365. Leap days are not counted. M.. describes a month, a week and a day. is the month (1..12), is the week (1..5) and is the day (0..6). Week one is the first week in the month when day occurs. Day zero is Sunday. The time part has the same format as the part described above except that it can have no leading sign (- or +). The default value of the time part is 02:00. For example, in the UK in 1993 the correct setting would be: TZ=GMT0BST1,M3.4.0/02:00,M10.4.0/02:00 This extended syntax for TZ may cause some MS-DOS applications to work incorrectly. If this occurs, the extended syntax may be used with the GTZ environment variable. If the GTZ variable is present, it will take precedence over the TZ variable for the purposes of these routines. Giles Todd ---------------------------------------------------------------------------- 2.02b DIS 18 Feb 93 - Added support for a TYPE_ANY query to the built in nameserver. - New command, 'domain qtype n' sets the type used by 'domain query' Use domain qtype 1 to set TYPE_A if you're stuck with a nameserver that won't accept TYPE_ANY (Are there any of these apart from the ka9q one ?) - Converted all remaining printf's to tprintf. Iain Paton ---------------------------------------------------------------------------- 2.02a DIS 11 Feb 93 1) Fixed bug that stopped SMTP and NNTP kicks from occuring automatically when time auto on was not in use. Mark Turner ---------------------------------------------------------------------------- 2.02 DIS 07 Feb 93 1) Change 'source' to operate in foreground. Added 'sourceb' which replaces the old 'source' command. 2) Added 'ip filter' command. This allows packet level filtering on each interface. May be used to make your system more choosy about whose packets it will accept. See filter.txt for more details. Included with permission from the author, Dave Mischler . 3) Improved dial-on-demand to work with filtering. 4) Added up/down scripts which allow net scripts to be sourced whenever particular PPP links come up/go down. To use this feature a file 'scripts' should be placed in the net base directory. Each line of the file has three fields. The first is the remote IP address negotiated by PPP, the second and third are the scripts (stored in spool/scripts) to be executed when the link appears/disappears. E.g. /scripts 158.152.13.137 up down Any net commands may be placed in these scripts. This is where I do my SMTP and NNTP kicks and adjust routing and nameserver details. 5) Altered fkey so that if the programmed string starts with "[command]" then the rest of the string is entered at the Net> prompt. E.g. fkey 104 "[command]se 1\n" fkey 105 "[command]se 2\n" fkey 106 "[command]se 3\n" fkey 107 "[command]se 4\n" etc.... This would program ALT-function-key to switch to the corresponding session. 6) Fixed Tx hardware handshake. 7) Added [XYZ]MODEM file transfers over rlogin. To start a download, type "~d". To start an upload, type "~u". Both commands prompt for the protocol to use - enter "x", "y" or "z" as required. All uploads and XMODEM downloads will prompt for a file name. The "~" character alone can be entered by typing "~" twice. 8) Added SMTP kill file. To reject mail from particular users just put their email address in the file 'mailkill' in the ka9q base directory. The SMTP server will reject all mail from specified sites with the message '503 Local policy blocking mail from you'. This facility was added to combat junk mail from auto-reply daemons. ---------------------------------------------------------------------------- 2.01 DIS 07 Jan 93 1) Make SMTP bouncing action/rules more flexible. Described in the file bouncing.txt. 2) Added: source Execute the commands in the specified file as if they were typed at the net prompt. Commands are executed as a background task but output is to console. 3) Added: at